home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / diskmags / shoah_s_iss1.lha / source / Plasma.s < prev    next >
Encoding:
Text File  |  1991-06-13  |  16.5 KB  |  556 lines

  1. ;      _______  ___                    ___        _______
  2. ;     /°-     \/. /    _____   ____   / ./       /°-     \
  3. ;     \   \___//  \___/°    \_/°   \_/   \___    \   \___/
  4. ;    _/\__    \      ~\_  /\  \  /\ ~\      °\_ _/\__    \
  5. ;    \\       /   /\   /  \/. /  \/   \ //\   / \\       /
  6. ;     \______/\__/  \_/\_____/\____/\_/_/  \_/ o \______/ Issue 1
  7.  
  8. ;Plasma
  9. ;The original source was by Rene Olsthoorn, for Newsflash...
  10. ;Tidied up and made A1200 compatable by Squize    15/12/94
  11.  
  12.     opt c-                ;Always set this !
  13.  
  14.     Section    Plasma,Code        ;Always put the code in public mem,
  15.                     ;so people with Fast Ram get the
  16.                     ;benefit
  17.  
  18. ;*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  19.  
  20.     include    SHOAH.s:SHOAH_Libs/Macros.lib
  21.                     ;I've made some nice macros to
  22.                     ;make life that little bit easier
  23.  
  24. ;*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  25.  
  26. plasma_lines    equ    210-1        ;Number of lines ( Don't put too big
  27.                     ;a value here ! )
  28.  
  29. ;*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  30.  
  31. Start:
  32.     bsr.s    TakeSystem        ;Kill the OS
  33.     tst    d0            ;Did we have an error ?
  34.     bne.s    Error            ;Yes, so quit
  35.  
  36.     bsr    Init            ;Run our little example
  37.  
  38.     bsr    RestoreSystem        ;Finished, so restore the OS
  39.  
  40.     moveq.l    #0,d0            ;Keep Mr.CLI happy
  41. Error:
  42.     rts
  43.  
  44. ;*+*+*+*+*+*+*+*+*+*+*+- Library Routines -+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
  45.     
  46.     include    SHOAH.s:SHOAH_Libs/Startup.lib
  47.  
  48. ;*+*+*+*+*+*+*+*+*+*+*+- Start up Routines -+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  49. Init:
  50.     lea    $dff000,a5
  51.  
  52.     lea    plasma_copper,a0
  53.     move    #$203f,a1        ;This value is the top position of
  54.     move    #plasma_lines,d2    ;the plasma...
  55. .plasma_cop_loop
  56.     add    #$0100,a1        ;This routine fills a buffer within
  57.     move    a1,(a0)+        ;the actual copperlist with colour &
  58.     move    #$fffe,(a0)+        ;wait commands ( It's about a million
  59.     move    #5-1,d3            ;times easier than typing in all in
  60. .plasma_sub_cop_loop            ;by hand ! )
  61.     move    #$0194,(a0)+        ;comb 1010
  62.     clr    (a0)+
  63.     move    #$019a,(a0)+        ;comb 1101
  64.     clr    (a0)+
  65.     move    #$018c,(a0)+        ;comb 0110
  66.     clr    (a0)+
  67.     move    #$0196,(a0)+        ;comb 1011
  68.     clr    (a0)+
  69.     move    #$018a,(a0)+        ;comb 0101
  70.     clr    (a0)+
  71.     move    #$0184,(a0)+        ;comb 0010
  72.     clr    (a0)+
  73.     move    #$0192,(a0)+        ;comb 1001
  74.     clr    (a0)+
  75.     move    #$0188,(a0)+        ;comb 0100
  76.     clr    (a0)+
  77.     dbra    d3,.plasma_sub_cop_loop
  78.     dbra    d2,.plasma_cop_loop
  79.  
  80.     move.l    #plasma_plane,d0    ;Set up the plane pointers (This
  81.     move.w    d0,BITPL1+6        ;program use 4 bitplanes, ie 16 cols)
  82.     swap    d0
  83.     move.w    d0,BITPL1+2
  84.     move.l    #plasma_plane+2,d0
  85.     move.w    d0,BITPL2+6
  86.     swap    d0
  87.     move.w    d0,BITPL2+2
  88.     move.l    #plasma_plane+2,d0
  89.     move.w    d0,BITPL3+6
  90.     swap    d0
  91.     move.w    d0,BITPL3+2
  92.     move.l    #plasma_plane+4,d0
  93.     move.w    d0,BITPL4+6
  94.     swap    d0
  95.     move.w    d0,BITPL4+2
  96.  
  97.     Copper_Set    CopperList
  98.     move    #%1000001111000000,$96(a5)    ;DMA:Blit/Bitpl/Copper
  99.  
  100.     bsr.s    Main                ;Now run the main loop
  101.  
  102.     rts                    ;All done, so go back to
  103.                         ;"RestoreSystem"
  104.  
  105. ;*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  106. ;*+*+*+*+*+*+*+*+*+*+*+- The Main Loop -+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  107. ;*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  108. MAIN:
  109.     VBlank
  110.  
  111. ;*+*+*+    Run the plasma jazz
  112.  
  113.     bsr    Plasma_Horizontal
  114.     bsr    Plasma_Figuur
  115.     lea    $dff000,a5
  116.  
  117. ;*+*+*+    Check for quit
  118.  
  119.     Mouse_button    Main        ;Loop to MAIN, until LMB pressed
  120.     rts
  121.  
  122. ;*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  123. Plasma_Horizontal:
  124.     move.l    #$ffffffff,$44(a5)
  125.     move    #$0000,$42(a5)
  126.     move.l    #$00000006,$64(a5)
  127.     lea    plasma_regel,a3
  128.  
  129.     lea    plasma_plane,a0
  130.     move.l    fhor,d7
  131.  
  132.     move    qhor,d4
  133.     lea    plasma_sinus,a1
  134.     add    d4,plasma_sinus_add
  135.     add    plasma_sinus_add,a1
  136.     cmp.l    #end_plasma_sinus,a1
  137.     bcs.s    reset_add
  138.     sub.l    #end_plasma_sinus,a1
  139.     move    a1,plasma_sinus_add
  140.     add.l    #plasma_sinus,a1
  141. reset_add:
  142.     move    #plasma_lines,d2
  143.  
  144. place_loop:
  145.     moveq    #0,d0
  146.     move.b    (a1),d0
  147.     add.l    d7,a1
  148.     cmp.l    #end_plasma_sinus,a1
  149.     bcs.s    double_boble
  150.     sub.l    #end_plasma_sinus-plasma_sinus,a1
  151. double_boble:
  152.     move.b    d0,d1
  153.     and.b    #$f0,d1
  154.     lsr.b    #3,d1
  155.     and.b    #$0f,d0
  156.     ror    #4,d0
  157.  
  158.     or    #%0000100111110000,d0
  159.     move    d0,$40(a5)    
  160.     add.l    d1,a0
  161.     Blitter_A    a3
  162.     Blitter_D    a0
  163.     Blit_Size    #1*64+19
  164.     Blitter_Wait
  165.  
  166.     sub.l    d1,a0
  167.     lea    44(a0),a0
  168.     dbra    d2,place_loop
  169.     rts
  170.  
  171. ;*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  172. plasma_figuur:
  173.     move.l    #$ffffffff,$44(a5)
  174.     move.l    #$0ffe0000,$40(a5)    
  175.     moveq.l    #$00,d0
  176.     move    d0,$64(a5)
  177.     move.l    d0,$60(a5)
  178.     move    #162,$66(a5)
  179.  
  180.     move.l    fig1(pc),d5
  181.     move.l    d5,a0
  182.     move.l    fig2(pc),d5
  183.     move.l    d5,a1
  184.     move.l    fig3(pc),d5
  185.     move.l    d5,a2
  186.     lea    plasma_copper+6,a3    ;dest.
  187.  
  188.     move.l    fvert1(pc),d5
  189.     move.l    fvert2(pc),d6
  190.     move.l    fvert3(pc),d7
  191.  
  192.     move    qvert1(pc),d4
  193.     lea    plasma_verticaal,a4
  194.     add    d4,figuur_teller1
  195.     add    figuur_teller1(pc),a4
  196.     cmp.l    #end_plasma_verticaal,a4
  197.     bcs.s    reset_add1
  198.     sub.l    #end_plasma_verticaal,a4
  199.     move    a4,figuur_teller1
  200.     add.l    #plasma_verticaal,a4
  201. reset_add1:
  202.  
  203.     move    qvert2(pc),d4
  204.     lea    plasma_verticaal,a5
  205.     add    d4,figuur_teller2
  206.     add    figuur_teller2(pc),a5
  207.     cmp.l    #end_plasma_verticaal,a5
  208.     bcs.s    reset_add2
  209.     sub.l    #end_plasma_verticaal,a5
  210.     move    a5,figuur_teller2
  211.     add.l    #plasma_verticaal,a5
  212. reset_add2:
  213.  
  214.     move    qvert3(pc),d4
  215.     lea    plasma_verticaal,a6
  216.     add    d4,figuur_teller3
  217.     add    figuur_teller3(pc),a6
  218.     cmp.l    #end_plasma_verticaal,a6
  219.     bcs.s    reset_add3
  220.     sub.l    #end_plasma_verticaal,a6
  221.     move    a6,figuur_teller3
  222.     add.l    #plasma_verticaal,a6
  223. reset_add3:
  224.     
  225.     moveq    #5*8-6-1,d3
  226.  
  227. perfect_loop:
  228.     moveq    #0,d0
  229.     move.b    (a4),d0
  230.     add.l    d5,a4
  231.     cmp.l    #end_plasma_verticaal,a4
  232.     bcs.s    reset_raket1
  233.     sub.l    #end_plasma_verticaal-plasma_verticaal,a4
  234. reset_raket1:
  235.     lsl    #1,d0
  236.     add.l    d0,a0
  237.  
  238.     moveq    #0,d1
  239.     move.b    (a5),d1
  240.     add.l    d6,a5
  241.     cmp.l    #end_plasma_verticaal,a5
  242.     bcs.s    reset_raket2
  243.     sub.l    #end_plasma_verticaal-plasma_verticaal,a5
  244. reset_raket2:
  245.     lsl    #1,d1
  246.     add.l    d1,a1
  247.  
  248.     moveq    #0,d2
  249.     move.b    (a6),d2
  250.     add.l    d7,a6
  251.     cmp.l    #end_plasma_verticaal,a6
  252.     bcs.s    reset_raket3
  253.     sub.l    #end_plasma_verticaal-plasma_verticaal,a6
  254. reset_raket3:
  255.     lsl    #1,d2
  256.     add.l    d2,a2
  257.  
  258.     move.l    a5,-(a7)
  259.     lea    $dff000,a5
  260.     Blitter_A    a0
  261.     Blitter_B    a1
  262.     Blitter_C    a2
  263.     Blitter_D    a3
  264.     Blit_Size    #210*64+1
  265.     Blitter_Wait
  266.     move.l    (a7)+,a5
  267.     sub.l    d0,a0
  268.     sub.l    d1,a1
  269.     sub.l    d2,a2
  270.     addq.l    #4,a3
  271.     dbra    d3,perfect_loop
  272.     rts
  273.  
  274. ;*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  275. ;*+*+*+*+*+*+*+*+*+*+*+- Labels -+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
  276. plasma_sinus_add dc.w    0
  277. figuur_teller1    dc.w    0
  278. figuur_teller2    dc.w    0
  279. figuur_teller3    dc.w    0
  280. qvert1        dc.w    4
  281. qvert2        dc.w    3
  282. qvert3        dc.w    2
  283. fvert1        dc.l    4
  284. fvert2        dc.l    5
  285. fvert3        dc.l    6
  286. fig1        dc.l    figuur1
  287. fig2        dc.l    figuur2
  288. fig3        dc.l    figuur3
  289. qhor        dc.w    0
  290. fhor        dc.l    60
  291. step_counter    dc.w    0
  292. fvert_extra    dc.l    figuur2
  293.  
  294. ;*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  295. ;*+*+*+*+*+*+*+*+*+*+*+- Chip-Ram Stuff -+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
  296.  
  297.     section    ChipRam,Code_c        ;All copperlists/bitplanes/sound/
  298.                     ;sprites/bobs etc. MUST be in
  299.                     ;ChipRam !
  300.  
  301. ;*+*+*+*+*+*+*+*+*+*+*+- Copper Lists -+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
  302.  
  303.     cnop    0,4
  304.  
  305. Copperlist:
  306.     dc.w $0100,$0200 
  307.     dc.w $0104,$0000
  308.     dc.w $0102,%0000000010000000
  309.  
  310.     dc.w $0108
  311.     dc.w $0004,$010A
  312.     dc.w $0004
  313.     dc.l $00920038,$009400d0    ;DDFSTRT/DDFSTOP
  314.     dc.l $008E29b8,$00902f90    ;DIWSTRT/DIWSTOP
  315.  
  316. BITPL1:    dc.w $00e0,$0000,$00e2,$0000
  317. BITPL2:    dc.w $00e4,$0000,$00e6,$0000
  318. BITPL3:    dc.w $00e8,$0000,$00ea,$0000
  319. BITPL4:    dc.w $00ec,$0000,$00ee,$0000
  320.  
  321.     dc.w $0180,$0000
  322.         dc.l $210ffffe
  323.     dc.w $0100,$4200
  324.  
  325. plasma_copper:
  326.     dcb.w    (2*8*5+2)*210,0
  327.  
  328.     dc.w $0100,$0200
  329.         dc.l $fffffffe
  330.         dc.l $fffffffe
  331.  
  332.     cnop 0,4
  333. plasma_plane:
  334.     ds.b    44*255            ;1 bitplane, normal overscan screen
  335.     even
  336.  
  337. plasma_regel:
  338.     dc.l    $00ff00ff,$ff00ff00
  339.     dc.l    $00ff00ff,$ff00ff00
  340.     dc.l    $00ff00ff,$ff00ff00
  341.     dc.l    $00ff00ff,$ff00ff00
  342.     dc.l    $00ff00ff,$ff00ff00
  343.     dc.l    $00ff00ff
  344. plasma_sinus:
  345.     dc.b    27,27,27,28,28,28,28,29,29,29,29,30
  346.     dc.b    30,30,30,31,31,31,31,31,32,32,32,32
  347.     dc.b    33,33,33,33,34,34,34,34,34,35,35,35
  348.     dc.b    35,36,36,36,36,36,37,37,37,37,38,38
  349.     dc.b    38,38,38,39,39,39,39,39,40,40,40,40
  350.     dc.b    40,41,41,41,41,42,42,42,42,42,42,43
  351.     dc.b    43,43,43,43,44,44,44,44,44,45,45,45
  352.     dc.b    45,45,45,46,46,46,46,46,46,47,47,47
  353.     dc.b    47,47,47,48,48,48,48,48,48,48,49,49
  354.     dc.b    49,49,49,49,49,50,50,50,50,50,50,50
  355.     dc.b    50,50,51,51,51,51,51,51,51,51,51,52
  356.     dc.b    52,52,52,52,52,52,52,52,52,52,53,53
  357.     dc.b    53,53,53,53,53,53,53,53,53,53,53,53
  358.     dc.b    53,53,54,54,54,54,54,54,54,54,54,54
  359.     dc.b    54,54,54,54,54,54,54,54,54,54,54,54
  360.     dc.b    54,54,54,54,54,54,54,54,54,54,54,54
  361.     dc.b    54,54,54,54,54,54,54,54,54,54,54,53
  362.     dc.b    53,53,53,53,53,53,53,53,53,53,53,53
  363.     dc.b    53,53,53,52,52,52,52,52,52,52,52,52
  364.     dc.b    52,52,51,51,51,51,51,51,51,51,51,50
  365.     dc.b    50,50,50,50,50,50,50,50,49,49,49,49
  366.     dc.b    49,49,49,48,48,48,48,48,48,48,47,47
  367.     dc.b    47,47,47,47,46,46,46,46,46,46,45,45
  368.     dc.b    45,45,45,45,44,44,44,44,44,43,43,43
  369.     dc.b    43,43,42,42,42,42,42,42,41,41,41,41
  370.     dc.b    41,40,40,40,40,39,39,39,39,39,38,38
  371.     dc.b    38,38,38,37,37,37,37,36,36,36,36,36
  372.     dc.b    35,35,35,35,34,34,34,34,34,33,33,33
  373.     dc.b    33,32,32,32,32,31,31,31,31,31,30,30
  374.     dc.b    30,30,29,29,29,29,28,28,28,28,27,27
  375.     dc.b    27,27,27,26,26,26,26,25,25,25,25,24
  376.     dc.b    24,24,24,23,23,23,23,23,22,22,22,22
  377.     dc.b    21,21,21,21,20,20,20,20,20,19,19,19
  378.     dc.b    19,18,18,18,18,18,17,17,17,17,16,16
  379.     dc.b    16,16,16,15,15,15,15,15,14,14,14,14
  380.     dc.b    14,13,13,13,13,12,12,12,12,12,12,11
  381.     dc.b    11,11,11,11,10,10,10,10,10,9,9,9
  382.     dc.b    9,9,9,8,8,8,8,8,8,7,7,7
  383.     dc.b    7,7,7,6,6,6,6,6,6,6,5,5
  384.     dc.b    5,5,5,5,5,4,4,4,4,4,4,4
  385.     dc.b    4,4,3,3,3,3,3,3,3,3,3,2
  386.     dc.b    2,2,2,2,2,2,2,2,2,2,1,1
  387.     dc.b    1,1,1,1,1,1,1,1,1,1,1,1
  388.     dc.b    1,1,0,0,0,0,0,0,0,0,0,0
  389.     dc.b    0,0,0,0,0,0,0,0,0,0,0,0
  390.     dc.b    0,0,0,0,0,0,0,0,0,0,0,0
  391.     dc.b    0,0,0,0,0,0,0,0,0,0,0,1
  392.     dc.b    1,1,1,1,1,1,1,1,1,1,1,1
  393.     dc.b    1,1,1,2,2,2,2,2,2,2,2,2
  394.     dc.b    2,2,3,3,3,3,3,3,3,3,3,4
  395.     dc.b    4,4,4,4,4,4,4,4,5,5,5,5
  396.     dc.b    5,5,5,6,6,6,6,6,6,6,7,7
  397.     dc.b    7,7,7,7,8,8,8,8,8,8,9,9
  398.     dc.b    9,9,9,9,10,10,10,10,10,11,11,11
  399.     dc.b    11,11,12,12,12,12,12,12,13,13,13,13
  400.     dc.b    13,14,14,14,14,15,15,15,15,15,16,16
  401.     dc.b    16,16,16,17,17,17,17,18,18,18,18,18
  402.     dc.b    19,19,19,19,20,20,20,20,20,21,21,21
  403.     dc.b    21,22,22,22,22,23,23,23,23,23,24,24
  404.     dc.b    24,24,25,25,25,25,26,26,26,26,27,27
  405. end_plasma_sinus:
  406.  
  407. plasma_verticaal:
  408.     dc.b    27,27,28,28,29,29,30,30,31,31,32,32
  409.     dc.b    33,33,34,34,34,35,35,36,36,37,37,38
  410.     dc.b    38,38,39,39,40,40,40,41,41,42,42,42
  411.     dc.b    43,43,44,44,44,45,45,45,46,46,46,47
  412.     dc.b    47,47,48,48,48,49,49,49,49,50,50,50
  413.     dc.b    50,51,51,51,51,51,52,52,52,52,52,53
  414.     dc.b    53,53,53,53,53,53,53,54,54,54,54,54
  415.     dc.b    54,54,54,54,54,54,54,54,54,54,54,54
  416.     dc.b    54,54,54,54,54,54,53,53,53,53,53,53
  417.     dc.b    53,53,52,52,52,52,52,51,51,51,51,51
  418.     dc.b    50,50,50,50,49,49,49,49,48,48,48,47
  419.     dc.b    47,47,46,46,46,45,45,45,44,44,44,43
  420.     dc.b    43,42,42,42,41,41,41,40,40,39,39,38
  421.     dc.b    38,38,37,37,36,36,35,35,34,34,34,33
  422.     dc.b    33,32,32,31,31,30,30,29,29,28,28,27
  423.     dc.b    27,27,26,26,25,25,24,24,23,23,22,22
  424.     dc.b    21,21,20,20,20,19,19,18,18,17,17,16
  425.     dc.b    16,16,15,15,14,14,14,13,13,12,12,12
  426.     dc.b    11,11,10,10,10,9,9,9,8,8,8,7
  427.     dc.b    7,7,6,6,6,5,5,5,5,4,4,4
  428.     dc.b    4,3,3,3,3,3,2,2,2,2,2,1
  429.     dc.b    1,1,1,1,1,1,1,0,0,0,0,0
  430.     dc.b    0,0,0,0,0,0,0,0,0,0,0,0
  431.     dc.b    0,0,0,0,0,0,1,1,1,1,1,1
  432.     dc.b    1,1,2,2,2,2,2,3,3,3,3,3
  433.     dc.b    4,4,4,4,5,5,5,5,6,6,6,7
  434.     dc.b    7,7,8,8,8,9,9,9,10,10,10,11
  435.     dc.b    11,12,12,12,13,13,13,14,14,15,15,16
  436.     dc.b    16,16,17,17,18,18,19,19,20,20,20,21
  437.     dc.b    21,22,22,23,23,24,24,25,25,26,26,27
  438. end_plasma_verticaal:
  439. figuur1:
  440.     dc.w    $0f00,$0f00,$0f00,$0e00,$0e00,$0e00,$0d00,$0d00,$0d00
  441.     dc.w    $0c00,$0c00,$0c00,$0b00,$0b00,$0b00,$0a00,$0a00,$0a00
  442.     dc.w    $0900,$0900,$0900,$0800,$0800,$0800,$0700,$0700,$0700
  443.     dc.w    $0600,$0600,$0600,$0500,$0500,$0500,$0400,$0400,$0400
  444.     dc.w    $0300,$0300,$0300,$0200,$0200,$0200,$0100,$0100,$0100
  445.     dcb.w    18,0
  446.     dc.w    $0100,$0100,$0100,$0100,$0200,$0200,$0200,$0200
  447.     dc.w    $0300,$0300,$0300,$0300,$0400,$0400,$0400,$0400
  448.     dc.w    $0500,$0500,$0500,$0500,$0600,$0600,$0600,$0600
  449.     dc.w    $0700,$0700,$0700,$0700,$0800,$0800,$0800,$0800
  450.     dc.w    $0900,$0900,$0900,$0900,$0a00,$0a00,$0a00,$0a00
  451.     dc.w    $0b00,$0b00,$0b00,$0b00,$0c00,$0c00,$0c00,$0c00
  452.     dc.w    $0d00,$0d00,$0d00,$0d00,$0e00,$0e00,$0e00,$0e00
  453.     dc.w    $0f00,$0f00,$0f00,$0f00
  454.  
  455.     dc.w    $0f00,$0f00,$0f00,$0f00,$0e00,$0e00,$0e00,$0e00
  456.     dc.w    $0d00,$0d00,$0d00,$0d00,$0c00,$0c00,$0c00,$0c00
  457.     dc.w    $0b00,$0b00,$0b00,$0b00,$0a00,$0a00,$0a00,$0a00
  458.     dc.w    $0900,$0900,$0900,$0900,$0800,$0800,$0800,$0800
  459.     dc.w    $0700,$0700,$0700,$0700,$0600,$0600,$0600,$0600
  460.     dc.w    $0500,$0500,$0500,$0500,$0400,$0400,$0400,$0400
  461.     dc.w    $0300,$0300,$0300,$0300,$0200,$0200,$0200,$0200
  462.     dc.w    $0100,$0100,$0100
  463.     dcb.w    18,0
  464.     dc.w    $0100,$0100,$0100,$0200,$0200,$0200,$0300,$0300,$0300
  465.     dc.w    $0400,$0400,$0400,$0500,$0500,$0500,$0600,$0600,$0600
  466.     dc.w    $0700,$0700,$0700,$0800,$0800,$0800,$0900,$0900,$0900
  467.     dc.w    $0a00,$0a00,$0a00,$0b00,$0b00,$0b00,$0c00,$0c00,$0c00
  468.     dc.w    $0d00,$0d00,$0d00,$0e00,$0e00,$0e00,$0f00,$0f00,$0f00
  469.  
  470.     dc.w    $0f00,$0f00,$0f00,$0e00,$0e00,$0e00,$0d00,$0d00,$0d00
  471.     dc.w    $0c00,$0c00,$0c00,$0b00,$0b00,$0b00,$0a00,$0a00,$0a00
  472.     dc.w    $0900,$0900,$0900,$0800,$0800,$0800,$0700,$0700,$0700
  473.     dc.w    $0600,$0600,$0600,$0500,$0500,$0500,$0400,$0400,$0400
  474.     dc.w    $0300,$0300,$0300,$0200,$0200,$0200,$0100,$0100,$0100
  475.     dcb.w    18,0
  476.     dc.w    $0100,$0100,$0100,$0200,$0200,$0200,$0300,$0300,$0300
  477.     dc.w    $0400,$0400,$0400,$0500,$0500,$0500,$0600,$0600,$0600
  478.     dc.w    $0700,$0700,$0700,$0800,$0800,$0800,$0900,$0900,$0900
  479.     dc.w    $0a00,$0a00,$0a00,$0b00,$0b00,$0b00,$0c00,$0c00,$0c00
  480.     dc.w    $0d00,$0d00,$0d00,$0e00,$0e00,$0e00,$0f00,$0f00,$0f00
  481.  
  482. figuur2:
  483.     dc.w    $00f0,$00f0,$00f0,$00e0,$00e0,$00e0,$00d0,$00d0,$00d0
  484.     dc.w    $00c0,$00c0,$00c0,$00b0,$00b0,$00b0,$00a0,$00a0,$00a0
  485.     dc.w    $0090,$0090,$0090,$0080,$0080,$0080,$0070,$0070,$0070
  486.     dc.w    $0060,$0060,$0060,$0050,$0050,$0050,$0040,$0040,$0040
  487.     dc.w    $0030,$0030,$0030,$0020,$0020,$0020,$0010,$0010,$0010
  488.     dcb.w    36,0
  489.     dc.w    $0010,$0010,$0010,$0020,$0020,$0020,$0030,$0030,$0030
  490.     dc.w    $0040,$0040,$0040,$0050,$0050,$0050,$0060,$0060,$0060
  491.     dc.w    $0070,$0070,$0070,$0080,$0080,$0080,$0090,$0090,$0090
  492.     dc.w    $00a0,$00a0,$00a0,$00b0,$00b0,$00b0,$00c0,$00c0,$00c0
  493.     dc.w    $00d0,$00d0,$00d0,$00e0,$00e0,$00e0,$00f0,$00f0,$00f0
  494.  
  495.     dc.w    $00f0,$00f0,$00f0,$00e0,$00e0,$00e0,$00d0,$00d0,$00d0
  496.     dc.w    $00c0,$00c0,$00c0,$00b0,$00b0,$00b0,$00a0,$00a0,$00a0
  497.     dc.w    $0090,$0090,$0090,$0080,$0080,$0080,$0070,$0070,$0070
  498.     dc.w    $0060,$0060,$0060,$0050,$0050,$0050,$0040,$0040,$0040
  499.     dc.w    $0030,$0030,$0030,$0020,$0020,$0020,$0010,$0010,$0010
  500.     dcb.w    36,0
  501.     dc.w    $0010,$0010,$0010,$0020,$0020,$0020,$0030,$0030,$0030
  502.     dc.w    $0040,$0040,$0040,$0050,$0050,$0050,$0060,$0060,$0060
  503.     dc.w    $0070,$0070,$0070,$0080,$0080,$0080,$0090,$0090,$0090
  504.     dc.w    $00a0,$00a0,$00a0,$00b0,$00b0,$00b0,$00c0,$00c0,$00c0
  505.     dc.w    $00d0,$00d0,$00d0,$00e0,$00e0,$00e0,$00f0,$00f0,$00f0
  506.  
  507.     dc.w    $00f0,$00f0,$00f0,$00e0,$00e0,$00e0,$00d0,$00d0,$00d0
  508.     dc.w    $00c0,$00c0,$00c0,$00b0,$00b0,$00b0,$00a0,$00a0,$00a0
  509.     dc.w    $0090,$0090,$0090,$0080,$0080,$0080,$0070,$0070,$0070
  510.     dc.w    $0060,$0060,$0060,$0050,$0050,$0050,$0040,$0040,$0040
  511.     dc.w    $0030,$0030,$0030,$0020,$0020,$0020,$0010,$0010,$0010
  512.     dcb.w    36,0
  513.     dc.w    $0010,$0010,$0010,$0020,$0020,$0020,$0030,$0030,$0030
  514.     dc.w    $0040,$0040,$0040,$0050,$0050,$0050,$0060,$0060,$0060
  515.     dc.w    $0070,$0070,$0070,$0080,$0080,$0080,$0090,$0090,$0090
  516.     dc.w    $00a0,$00a0,$00a0,$00b0,$00b0,$00b0,$00c0,$00c0,$00c0
  517.     dc.w    $00d0,$00d0,$00d0,$00e0,$00e0,$00e0,$00f0,$00f0,$00f0
  518.  
  519. figuur3:
  520.     dc.w    $000f,$000f,$000f,$000e,$000e,$000e,$000d,$000d,$000d
  521.     dc.w    $000c,$000c,$000c,$000b,$000b,$000b,$000a,$000a,$000a
  522.     dc.w    $0009,$0009,$0009,$0008,$0008,$0008,$0007,$0007,$0007
  523.     dc.w    $0006,$0006,$0006,$0005,$0005,$0005,$0004,$0004,$0004
  524.     dc.w    $0003,$0003,$0003,$0002,$0002,$0002,$0001,$0001,$0001
  525.     dcb.w    18,0
  526.     dc.w    $0001,$0001,$0001,$0002,$0002,$0002,$0003,$0003,$0003
  527.     dc.w    $0004,$0004,$0004,$0005,$0005,$0005,$0006,$0006,$0006
  528.     dc.w    $0007,$0007,$0007,$0008,$0008,$0008,$0009,$0009,$0009
  529.     dc.w    $000a,$000a,$000a,$000b,$000b,$000b,$000c,$000c,$000c
  530.     dc.w    $000d,$000d,$000d,$000e,$000e,$000e,$000f,$000f,$000f
  531.  
  532.     dc.w    $000f,$000f,$000f,$000e,$000e,$000e,$000d,$000d,$000d
  533.     dc.w    $000c,$000c,$000c,$000b,$000b,$000b,$000a,$000a,$000a
  534.     dc.w    $0009,$0009,$0009,$0008,$0008,$0008,$0007,$0007,$0007
  535.     dc.w    $0006,$0006,$0006,$0005,$0005,$0005,$0004,$0004,$0004
  536.     dc.w    $0003,$0003,$0003,$0002,$0002,$0002,$0001,$0001,$0001
  537.     dcb.w    18,0
  538.     dc.w    $0001,$0001,$0001,$0002,$0002,$0002,$0003,$0003,$0003
  539.     dc.w    $0004,$0004,$0004,$0005,$0005,$0005,$0006,$0006,$0006
  540.     dc.w    $0007,$0007,$0007,$0008,$0008,$0008,$0009,$0009,$0009
  541.     dc.w    $000a,$000a,$000a,$000b,$000b,$000b,$000c,$000c,$000c
  542.     dc.w    $000d,$000d,$000d,$000e,$000e,$000e,$000f,$000f,$000f
  543.  
  544.     dc.w    $000f,$000f,$000f,$000e,$000e,$000e,$000d,$000d,$000d
  545.     dc.w    $000c,$000c,$000c,$000b,$000b,$000b,$000a,$000a,$000a
  546.     dc.w    $0009,$0009,$0009,$0008,$0008,$0008,$0007,$0007,$0007
  547.     dc.w    $0006,$0006,$0006,$0005,$0005,$0005,$0004,$0004,$0004
  548.     dc.w    $0003,$0003,$0003,$0002,$0002,$0002,$0001,$0001,$0001
  549.     dcb.w    18,0
  550.     dc.w    $0001,$0001,$0001,$0002,$0002,$0002,$0003,$0003,$0003
  551.     dc.w    $0004,$0004,$0004,$0005,$0005,$0005,$0006,$0006,$0006
  552.     dc.w    $0007,$0007,$0007,$0008,$0008,$0008,$0009,$0009,$0009
  553.     dc.w    $000a,$000a,$000a,$000b,$000b,$000b,$000c,$000c,$000c
  554.     dc.w    $000d,$000d,$000d,$000e,$000e,$000e,$000f,$000f,$000f
  555.  
  556.